package com.shujia.wyh.day10;

/*
    定义一个人的类

    每个人的姓名和年龄不一样，是变化的，这些我们都能理解
    但是，我们选的这几个人都是中国人，他们的国籍都是一样的，都是中国，一样的国籍，在每次new的时候，都会在堆内存中
    开辟空间，每次都会为成员变量country开辟空间
    我觉得每个人的国籍都一样的话，每次new出来的时候，应该是默认的，就没有必要再开辟空间
    针对与多个对象有着共同的成员变量，值是一样的时候。
    java就针对这样的情况，提供一个关键字给我们使用，这个关键字：static

    static: 静态的意思，可以修饰成员变量和成员方法
 */

class Human {
    //姓名
    String name;
    //年龄
    int age;
    //国籍
    static String country;

    //构造方法
    Human() {
    }

    Human(String name, int age, String country) {
        this.name = name;
        this.age = age;
        this.country = country;
    }

    Human(String name, int age) {
        this.name = name;
        this.age = age;
    }

    //提供了一个方法输出所有的成员变量值
    public void show() {
        System.out.println("姓名：" + this.name + ",年龄：" + this.age + ",国籍：" + country);
    }


}

public class HumanDemo {
    public static void main(String[] args) {
        //创建一个对象
        Human h1 = new Human("肖战",18,"中国");
        h1.show();

        //创建一个对象
        Human h2 = new Human("冯提莫",19);
        h2.show();

        //创建一个对象
        Human h3 = new Human("刘德华",60);
        h3.show();

        h1.country = "美国";
        h1.show();
        h2.show();
        h3.show();


    }
}
